package com.jade.journal;

/**
 * 日志追加器。
 *
 * @author Daisy
 * @version 1.0 14-9-21 下午8:31
 */
public interface JournalAppender
{
    /**
     * 返回追加器类型。
     *
     * @return 追加器类型。
     */
    public String getType();

    /**
     * 返回Appender名称。
     *
     * @return appender名称
     */
    public String getName();

    /** 初始化追加器,初始化的时候可能需要用到event中的业务数据 */
    public void init(JournalEvent event);

    /**
     * 处理事件数组
     *
     * @param events 事件
     */
    public void append(JournalEvent... events);

    /** 关闭追加器 */
    public void close();
}
